home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / misc / zxam16b.lha / ZXAM Spectrum / README!! < prev    next >
Text File  |  1995-01-24  |  11KB  |  216 lines

  1.             Readme of ZXAM Spectrum Emulator v1.6b
  2.             --------------------------------------
  3.  
  4.    This  program  is  a  Sinclair  ZX  Spectrum 48k emulator. It needs WB 3.0+,
  5. 68020+  and  AGA  chipset  (68020+,  WB  2.04+  and any kind of chipset for the
  6. OCS/ECS  version).  Take  a  look at the ZXAM_Spectrum.DOCeng for details about
  7. features and use of the emulator.
  8.  
  9.    This  is  the  emulator  formerly  known  (in some PD lists) as Spectrum AGA
  10. (though  the  emulator  has  been always named ZXAM!), but with the new OCS/ECS
  11. version  the  emulator  is  no  longer AGA-only. Anyway, both versions requires
  12. 68020+ processor.
  13.  
  14.    This  program  is SHAREWARE. This means that you can test the program during
  15. one  month.  After this period you must send $ US 15 (only CASH) to the author.
  16. In  return  you  will  receive  the latest version available (probably the 128k
  17. version). By doing this contribution, you assure the further development of the
  18. emulator.
  19.  
  20.    This  SHAREWARE  version  can  be  freely  distributed provided that all the
  21. associated  files  are distributed with the program itself. Neither the program
  22. nor  their  associated  files  must  be  modified  in  any  way.  The  complete
  23. distribution  package  can  be  compressed  with  LHA,  LHarc  or  similar  for
  24. distribution  convenience.  No  charge  must be made for use or distribution of
  25. this  package.  You  can  upload  this  package  to  any  BBS,  include it in a
  26. magazine's coverdisk or in a Public Domain library.
  27.  
  28.    To contact with the author:
  29.    
  30.    Mail:
  31.                 Antonio J. Pomar Rosselló
  32.                C/ Alférez Cerdá  nº 13-bajos
  33.               Palma de Mallorca 07014
  34.                  Baleares (Spain)
  35.  
  36.    FidoNet:
  37.                 Toni Pomar (2:343/119.80)
  38.    AmigaNet:
  39.                 Toni Pomar (39:190/1.80)
  40.    InterNet:
  41.                 tpomar@penedes.mazanet.encomix.com
  42.  
  43.    From this point the text contains some addendums,  accumulated since version
  44. 1.3 ß. These addendums are a kind of HISTORY, but more detailed.
  45.  
  46.  
  47.       >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.3 ß <<<<<<<<<<<<<<<<
  48.  
  49.    The main motivation  for the release of version 1.3 ß is the addition of the
  50. LOAD/SAVE to tape.  This is  not a  definitive  version,  but there  were  many
  51. requests from  people that have sent to me messages to TANIT-BBS.  This way the
  52. LOAD routine can be tested  on different configurations,  to report any kind of
  53. problem.  Moreover, version 1.3 ß includes some attempts of synchronization for
  54. stabilize the emulator, but they aren't completed. I need information about the
  55. result of  these attempts  in other CPUs (68030/50MHz or 68040).  Changes since
  56. version 1.2 ß are:
  57.  
  58.  
  59.  
  60. LOAD FROM TAPE: The LOAD routine is a patch of the ROM LOAD routine. This patch
  61. is partial.  That means  that 90% of  code executed  while LOADing  is the  Z80
  62. original routine. This way the emulator behaves like the original Spectrum, you
  63. can see  the screen data and  attributes loading,  can do BREAK by pressing the
  64. space key,  the border shows the old "loading colours" and the FLASH attributes
  65. are  still "FLASHing" during the LOAD.  All this works even with an  Amiga 1200
  66. without FAST memory and in colour mode!!.
  67.  
  68. The LIMITATIONS of the patch are:
  69.  
  70.    -The  border lines  aren't perfect,  but almost.  Some border change  are
  71.     missed because of some  interference between the CPU and the copperlist.
  72.     I  could do a perfect border,  but the LOAD/SAVE lines aren't  worth the
  73.     speed loss.
  74.     
  75.    -The sound from tape can be heared ONLY DURING THE LOAD.  That means that
  76.     you will  need to search the beginning of  the program with the cassette
  77.     disconnected  from the computer.  A software  emulation of  the hardware
  78.     connection between  MIC and EAR connectors would be a severe slowdown of
  79.     the emulation.
  80.     
  81.    -NEEDS A CUSTOM INTERFACE: although I think that this is not a limitation
  82.     because the  interface that  I have designed  is much more  cheaper  and
  83.     practical than a sound sampler.  This interface plugs into  the Joystick
  84.     port. You can plug and unplug it even with the computer switched on. The
  85.     2 (yes, TWO!) components used in the interface are for protection of the
  86.     computer.  If  you want,  you can make  a through-port  to  connect  the
  87.     interface and the joystick at the same time. With this interface you can
  88.     leave the printer connected to the parallel port permanently.
  89.     
  90.    -Because the LOAD is a patch, forget about loading Turbo games (al least,
  91.     for the moment...;-).
  92.    
  93.    -In systems with  slower CPUs isn't  recommendable to touch  the keyboard
  94.     while loading,  because any  key press/release  will cause an interrupt,
  95.     that can produce  the dreaded "R Tape loading error".  You only need  to
  96.     touch the keyboard to do a BREAK.
  97.  
  98.    Well,  I have to say that the effectiveness of the patch is much better than
  99. any  prevision.  During the  first testing of  the patch I  have connected  the
  100. internal  Spectrum +2A  cassette to  the tape  interface,  and  tried  to  load
  101. simultaneously  the same program in the +2A and  in the Amiga 1200.  The aim of
  102. the  test was  to find  some programs that the +2A  can load and the Amiga 1200
  103. can't, to use it to adjust the timing of the patch. The inesperate results were
  104. that  the computer with  problems to load some programs was the +2A,  while the
  105. Amiga 1200  loaded everything that  I have throwed to it ;-).  I have passed to
  106. disk 83 programs during the tests.
  107.  
  108.  
  109.  
  110. SAVE TO TAPE: This is a very easy one. Actually, this is not a patch, otherwise
  111. it is a REAL TIME SAVE. It is the Z80 that is sending the data to the tape. The
  112. only  thing  that I  haved to do  is to  stabilize the  sound output.  The same
  113. explained above about the keyboard and border is applied to the SAVE.  The data
  114. saved with  the emulator  has been  loaded succesfully  by the emulator  itself
  115. and by my ZX Spectrum +2A.
  116.  
  117.  
  118.  
  119. SOUND:  The emulator  includes a  "sound stabilizer"  that tries to enhance the
  120. cleaness of  the sound.  This stabilizer  is the real  guilty of the  REAL TIME
  121. SAVE,  and the  pure sound of  the BEEP command.  Some games  sounds now  a lot
  122. better  (like the ULTIMATE ones),  but some others  have slowed  down slightly.
  123. Anyway,  this stabilizer is experimental,  and will be  much better  when I can
  124. test it thoroughly with a computer with a fast CPU.
  125.  
  126.  
  127.       >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.3b ß <<<<<<<<<<<<<<<<
  128.  
  129.    I have distributed this  version because a user have  requested me the  last
  130. version  of the  emulator  (he have  seen the  horrible 1.2 ß  version  in  the
  131. Southern Party '94). Because of this I have decided to distribute as 1.3b ß the
  132. last version assembled (I couldn't send him the 1.3 ß version because it wasn't
  133. the last  and better  version!).  This version  is a small  speed  increase for
  134. certain games.  It includes a transfer to pass programs from disk to tape,  and
  135. fixes a problem with the Kempston joystick.
  136.  
  137.    For  the period  from 1-August-94  to 20-August-94  I have not modified  the
  138. emulator because I was "hooked" to a modem that a friend of mine  lended to me.
  139. Very soon I will have my own modem and my own FidoNET address.
  140.  
  141.  
  142.       >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.4 ß <<<<<<<<<<<<<<<<
  143.       
  144.               (this version was never released)
  145.     
  146.               
  147.        >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.5 <<<<<<<<<<<<<<<<
  148.  
  149.    This is  the first non-BETA version.  That means that the user  interface is
  150. complete, the emulator is stable (for what I know) and the emulation is (if not
  151. perfect)  reasonably complete.  This  is  not  a  resignation  to  enhance  the
  152. emulation or the user interface (I NEVER RESIGN!).  Is simply a way to say that
  153. this is a quite complete program.
  154.  
  155.    This version don't enhance the emulation  (I am waiting for some FAST memory
  156. to do very important real time tests). Is an improvement of the user interface.
  157. The emulator now has an ARexx port, with 44 functions that enables to do nearly
  158. anything you can think of (save screen as IFF, assemble/disassemble,  searching
  159. of pokes,  extract BASIC listings,  batch conversions of formats,  etc...).  In
  160. future  versions maybe there will be step  by step  executing of Z80 code.  The
  161. ARexx  scripts  are  started  from  the  emulator's  window,   through  a  file
  162. requester.
  163.  
  164.    Now you  can  compress the  spectrum programs in  the moment of saving (with
  165. powerpacker.library),  can get  separate  paths  (for loading and saving),  the
  166. filerequesters  adapts  to  the height  of  the screen,    the   window  is  an
  167. AppWindow,  the emulator  can load external ROMs  (added to version 1.4 ß)  and
  168. commands can be executed before  and after the emulation (specially interesting
  169. for enable/disable the CPU caches).
  170.  
  171.    If you want to code Z80 assembler I recommend you CAZ, a Z80 cross-assembler
  172. by Carsten Rose (it is in the FrozenFISH CD-ROM).  You must do a suitable ARexx
  173. script for use the CAZ with your favourite text editor and assemble directly to
  174. the Spectrum's memory at the right address (even with ED you can do it).
  175.  
  176.    With the package ther is an OCS/ECS version of the emulator.  This is a test
  177. version. If there are any problems with it let me know.
  178.  
  179.  
  180.        >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.6 <<<<<<<<<<<<<<<<
  181.  
  182.    This  is the first SHAREWARE version. This is due to the huge amount of time
  183. that  I  am spending on it, and to the post/phone charges that I have to pay to
  184. distribute the emulator properly.
  185.  
  186.    This  version  (1.6) adds an ARexx function (ZXAMDisassemble()) that enables
  187. to disassemble instructions from the Spectrum's memory, the options to redirect
  188. the  LOAD/SAVE  routines  of the Spectrum's ROM to DISK or TAPE (for multilevel
  189. games, or BASIC listings, etc...), and the data can be crunched while saving to
  190. disk,  can  load  games  from their Default Tool, or doing multi-selection, can
  191. load  snapshots  in  Z80  format, fixes some compatibility problems and is more
  192. friendly with the system.
  193.  
  194.    There  are  two  new  ARexx  scripts  too,  one for disassemble parts of the
  195. spectrum's  memory  and the other for "explode" a .TAP file in their respective
  196. .header and .bytes.
  197.  
  198.    This  is, probably, the last 48k-only version. At the time of writing this I
  199. have a pre-version of the emulator with the +3BASIC working... ;-)
  200.  
  201.  
  202.        >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.6b <<<<<<<<<<<<<<<<
  203.  
  204.    Version initially created to fix a bug in the loading of some Z80 snapshots.
  205. As  addition to justify the release of this version, it can load KGB snapshots,
  206. includes  10  new ARexx functions (one of them is the ZXAMTrace() function that
  207. enables to run Z80 code step-by-step, and other, the ZXAMBreakPoint() function,
  208. can put a breakpoint in the spectrum's memory) and enhances some details of the
  209. emulation  (not  much...).  Along  with  the  emulator there is an ARexx script
  210. (Monitor.zxam,  created  by  Leonardo  Cocaña  Galán) that acts as a very basic
  211. disassembler/monitor.  This script shows some of the possibilities of the ARexx
  212. port.
  213.  
  214.    For  the  release  of this version I had to stop the development of the 128k
  215. version, but now I am on the way again...
  216.